混淆矩陣是最常用的方法,讓人直覺就看出辨識能力
# Confusion Matrix 混淆矩陣
p_class_test = model.predict(x_test).argmax(axis=1)
y_class_test = y_test.argmax(axis=1)
cm = confusion_matrix(y_class_test, p_class_test)
print(cm)
# Plotting confusion Matrix
plt.imshow(cm, interpolation='nearest')
plt.colorbar()
number_of_class = len(np.unique(y_class_test))
tick_marks = np.arange(len(np.unique(y_class_test)))
plt.xticks(tick_marks, range(number_of_class))
plt.yticks(tick_marks, range(number_of_class))
plt.tight_layout()
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.title('Confusion Matrix')
plt.show()
當True Label(正確標籤)與Predict Lable(預測結果)的從左上到右下這個斜線,顏色從最高(預測最好)的黃色、到最低(預測最差)的藍色
直覺的圖看過後,我們改看數值化的圖表,本來該預測是多少的數字,是否預測正確
例如正確數字0,預測正確有969張圖,但有5張圖預測成了2,有2張預測成6,有4張預測成了7